package com.netease.streamlearningbyjava;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;

/**
 * 创建日期：2021/10/29 10:11
 *
 * @author tony.sun
 * 类说明：
 * 1.创建流
 * 2.中间操作
 * 3.终止操作
 */
public class stream7ShanGuiGu {
    public static void main(String[] args) {
        /*//1.可以通过Collection系列集合提供的stream（）顺序流获取parallelStream()并行流来获取流
        List<String> list=new ArrayList<>();
        Stream<String> stream1 = list.stream();
        //2.通过Arrays 中的静态方法stream（）获取数组流
        IntStream stream = Arrays.stream(new int[]{1, 2, 3});
        //3.通过Stream类中的静态方法of（）
        Stream<String> stream3 = Stream.of("aa", "bb", "cc");
        //4.创建无限流
        //迭代
        Stream<Integer> stream4=Stream.iterate(0,(x) ->x+2);//其中x是一个任意值，只要有(x) ->x个格式就行，后面的x+2表示迭代的值中，在前面的值得基础上+2
        stream4
                .limit(10)//这个表示允许打印10个值，中间操作
                .forEach(System.out::println);//这个表示终止操作
        //生成随机数
        Stream.generate(()->Math.random())
                .limit(5)
                .forEach(System.out::println);*/
        List<Integer> list=new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);
        Stream<Integer> stream = list.stream();
        stream
                .limit(2)//限制为两个，这里默认前面两个
                .forEach(System.out::println);


    }
}
